// miniprogram/pages/test/testAggregatedArticle/testAggregatedArticle.js
Page({

  /**
   * 页面的初始数据
   */
  data: {

  },

  /*
    Test basic aggregate collections for article.
  */
 testAggregatedArticle() {
  const cloud = wx.cloud;
  cloud.init({
    env: cloud.DYNAMIC_CURRENT_ENV
  });
  const db = cloud.database();
  const _ = db.command;

  let queryRequest = {
    originCollection : "Article",
    fromCollectionsLookUpParmas : [
                              {
                                name : "User",
                                let : {
                                  userID : '$userID'
                                },
                                pipeline : [
                                  {
                                    operator : 'eq',
                                    fieldName : '$userID',
                                    definedName : '$$userID'
                                  },                                 
                                ],
                                project : {
                                  _id: 0,
                                  userID: 1,
                                  nickName: 1,
                                  avatar: 1                        
                                },
                                as : 'Article2User',
                              },

                              {
                                name : "ArticleTags",
                                let : {
                                  tags : '$tags'
                                },
                                pipeline : [
                                  {
                                    operator : 'in',
                                    fieldName : '$tagID',
                                    definedName : '$$tags'
                                  },                                 
                                ],
                                project : {
                                  _id: 0,
                                  tagID: 1,
                                  name: 1,
                                  desc: 1                        
                                },
                                as : 'Article2ArticleTags',
                              }
                            ],
    matchCondition : {
      operator : 'eq',
      articleID : 3
    }
  }
  
    wx.cloud.callFunction({
      name : "AggregatedArticle",
      data : {
        queryRequest
      }
    })
    .then(res => {
      let resultSet = res.result;
      console.log(`AggregatedArticle ========== 返回结果原始数据：${resultSet}, notNull : ${resultSet != null}`);
    });
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.testAggregatedArticle();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})